package hoge.memoriesalbum.util;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public final class BitmapUtil {
    /**
     * Bitmapを指定サイズに合わせてサイズをスケールさせる
     * 
     * @param imagePath
     *            ：Bitmapが置かれている絶対パス
     * @param width
     *            ：合わせたい横幅
     * @param height
     *            ：合わせたい縦幅
     * @return：スケールさせたBitmap
     */
    public static Bitmap scaleBitmap(String imagePath, int width, int height) {
        // 空でbitmapを読み込んで画像サイズを取得
        BitmapFactory.Options opts = new BitmapFactory.Options();
        opts.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(imagePath, opts);
        int scaleWidth = (int) Math.floor((double) opts.outWidth / width);
        int scaleHeight = (int) Math.floor((double) opts.outHeight / height);

        // 画像をスケールさせて実際にBitmapを読み込む
        opts.inJustDecodeBounds = false;
        opts.inSampleSize = Math.min(scaleWidth, scaleHeight);

        return BitmapFactory.decodeFile(imagePath, opts);
    }
}
